All-in-one Book:
I am intending to compile all of the course resources for a given class
into what I'm calling a "Book". Using Orgmode, I intend to compile the
reading material (which I've written over the years) and various assignments
and assignment documentation all into one place. Since I am using Orgmode,
this can be exported to an HTML webpage or a PDF "book" like file.
You can view my orgmode docs here: https://moosadee.gitlab.io/courses/.
More emphasis on debugging:
Across all my classes I am planning on adding on smallish assignments on
debugging. This may include broken code with a description of
what is expected to happen and what actually happens, or a build error message.
The purpose is to have students analyze the code and be able to describe
what is going wrong. Hopefully this will help with debugging their own code
as well.
An alternative to videos?:
For a year or so I've been thinking about developing something - or using
an already existing JS library - to present my course slides with audio
and an auto-play option. The intention is to give a similar presentation
to what my video lectures offer, BUT to be totally stored in the HTML
of a page (which makes revising easier) and to store seprate audio files
for each "slide" (which makes re-recording spoken parts easier).
Attendance, but for data:
I don't like tying points to attendance, though I am thinking that I might
start taking attendance just for the sake of data throughout the semester,
such as "attendance (Zoom? in person?) vs. grade".
Auto-diff:
Since all my courses will once again be utilizing Git, this will make it easier
for me to write scripts to auto-diff everybody's submissions. I will be able to
check for plagiarism in a more managable way.
Automated testing:
ALL lab assignments HAVE or WILL HAVE automated tests / unit tests built into
them. This will help me with grading these smaller lab assignments quickly.
Larger projects could have some automated tests but will probably require
a large amount of manual grading.
Emphasis on code citation:
I am going to write a resource on "how to cite code", probably to go with my
course Style Guide. The intention is so that if students utilize code from
elseware (Stack Overflow, AI, textbooks, my own code) that they know how to
appropriately give credit and avoid plagarizing.
CS 200: Concepts of Programming with C++
Nonograms:
I want my students to practice patience, analysis of problems, and deduction skills,
and honestly I think a great way to do this is with puzzles like Sudoku or Nonograms.
The perk of a Nonogram (aka "Picross") is that the result is a little pixel image,
which will be easier to grade "at a glance".
Back to GitLab:
Before I moved over to using Replit in my CS 200 course, I had students utilizing GitLab.
For this entry-level C++ course I just had students utilizing GitLab through the web interface
and uploading files via the web as well - more advanced topics covered in CS 235 and CS 250.
Going back to using Git also makes my job a bit easier with grading as I can clone each student's
repository onto my local machine.
MinGW?:
I am currently trying to figure out an easy-enough way to teach my CS 200 students how to
build their C++ programs from the command line, in addition to using something like
Visual Studio or Code::Blocks. Replit allowed me to teach students about this
via the Shell in their Replit projects and I think in the long term this has been valuable,
especially for students who are on Mac computers.
CS 235: Object Oriented Programming with C++
In Fall 2023 I had four duplicate codebases across my two sections of CS 235.
This Spring I would ideally like to have one big codebase, though I need to take
FERPA restrictions into account. Right now I am thinking that having a combined
codebase should be OK as long as I let students know it's combined,
and to encourage them to register an account with a non-identifying username/email
address if they do not wish to have their legal name associated with it.
I will look into this more.
CS 250: Basic Data Structures using C++
The topics of this course are pretty much the same, there's only so many
different ways to have a "write a Linked List" assignment. However I plan
on updating the unit tests, updating the documentation,
and changing up the semester projects and approaching them in a different
way than previously. Still hashing out details. :)